package com.longshine;

/**
 * @Author xiongmin
 * @Description TODO
 * @Date 2019/11/7 12:44
 * @Version 1.0
 **/
public class ChartFactory {

    public static Chart getChart(String chartName) {
        Chart chart = null;
        switch (chartName) {
            case "HistogramChart": {
                chart = new HistogramChart();
                break;
            }
            case "PieChart": {
                chart = new PieChart();
                break;
            }
            case "LineChart": {
                chart = new LineChart();
                break;
            }
            default: {
                // 这里最好抛出一个异常，并说明没有图表类型
            }
        }
        return chart;
    }
}

interface Chart {
    // 一些图表类要实现的功能接口方法
}

class HistogramChart implements Chart {
    // HistogramChart图表类实现的功能接口方法
}

class PieChart implements Chart {
    // PieChart图表类实现的功能接口方法
}

class LineChart implements Chart {
    // LineChart图表类实现的功能接口方法
}